package com.zmn.plat.business.interfaces.product.businessline;

import java.util.ArrayList;
import java.util.List;

import com.zmn.common.dto.VtDTO;
import com.zmn.plat.model.entity.product.businessline.ProductBusinessLine;
import com.zmn.plat.model.entity.product.businessline.ProductBusinessLineQuery;

/**
 * 描述: 产品业务线基础接口类
 *
 * @author tanbiao
 * @since 2020/10/27 14:52
 **/
public interface ProductBusinessLineBService {

    /**
     * 根据业务类型和状态查询业务线ID和业务线名称VtDTO
     *
     * @param bizType
     *            业务类型
     * @param status
     *            状态
     * @return List<VtDTO>
     * @author tanbiao
     * @since 2020/10/27 14:52
     */
    List<VtDTO> listVtByBizType(Integer bizType, Integer status);

    /**
     * 描述: 根据条件导出后台产品报表
     *
     * @param query
     *            查询条件
     * @return java.util.ArrayList<java.util.List>
     * @author tanbiao
     * @since 2020/10/27 14:52
     **/
    ArrayList<List> outputProductExcel(ProductBusinessLineQuery query);

    /**
     * 描述: 新增或者修改
     *
     * @param productBusinessLine
     *            实体参数
     * @param mcStaffRealName
     *            操作人
     * @return java.util.ArrayList<java.util.List>
     * @author tanbiao
     * @since 2020/10/27 14:52
     **/
    Integer addEdit(ProductBusinessLine productBusinessLine, String mcStaffRealName);

    /**
     * 描述: 修改状态
     *
     * @param ids
     *            id字符串集合
     * @param status
     *            更改的状态
     * @param mcStaffRealName
     *            操作人
     * @return java.util.ArrayList<java.util.List>
     * @author tanbiao
     * @since 2020/10/27 14:52
     **/
    Integer updateStatus(String ids, int status, String mcStaffRealName);
}
